package com.zzsy.carosshopprojects.util;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * Created by Administrator on 2018/7/2 0002.
 * Create name : wangkuo
 * Explain : FormatTimeUtil -- 时间格式处理的工具
 */

public class FormatTimeUtil {
    /**
     * 日期格式的字符串转换成时间戳
     *
     * @param dateStr : 字符串日期
     * @param format  如 ：  yyyy-MM-dd HH:mm:ss
     */

    public static String formatDateStr2TimeStamp(String dateStr, String format) {
        try {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
            return String.valueOf(simpleDateFormat.parse(dateStr).getTime() / 1000);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }


    /**
     * 时间戳转换成日期格式字符串
     *
     * @param seconds 精确到秒的字符串
     * @param format  时间格式
     */
    public static String formatTimeStamp2DateStr(String seconds, String format) {
        if (seconds == null || seconds.isEmpty() || seconds.equals("null")) {
            return "";
        }
        if (!StringUtils.isNumber(seconds)) {

        }
        if (format == null || format.isEmpty()) {
            format = "yyyy-MM-dd HH:mm:ss";
        }

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
        return simpleDateFormat.format(new Date(Long.valueOf(seconds + "000")));
    }

    /**
     * 时间戳转换成年月日
     */
    public static String formatTimeStamp(String seconds) {
        if (seconds == null || seconds.isEmpty() || seconds.equals("null")) {
            return "";
        }
        if (!StringUtils.isNumber(seconds)) {
            return "";
        }
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm");
        return simpleDateFormat.format(new Date(Long.valueOf(seconds + "000")));

    }

    /**
     * 时间戳转换成年月日
     */
    public static String formatTimeStamp2DateStr(long l, String seconds) {
        if (seconds == null || seconds.isEmpty() || seconds.equals("null")) {
            return "";
        }
        if (!StringUtils.isNumber(seconds)) {
            return "";
        }
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        return simpleDateFormat.format(new Date(Long.valueOf(seconds + "000")));

    }

    /**
     * 时间戳转换成年月日
     */
    public static String DateStr(String seconds) {
        if (seconds == null || seconds.isEmpty() || seconds.equals("null")) {
            return "";
        }
        if (!StringUtils.isNumber(seconds)) {
            return "";
        }
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy");
        return simpleDateFormat.format(new Date(Long.valueOf(seconds + "000")));

    }

    /**
     * 时间戳转换成年月日
     */
    public static String DateStrMM(String seconds) {
        if (seconds == null || seconds.isEmpty() || seconds.equals("null")) {
            return "";
        }
        if (!StringUtils.isNumber(seconds)) {
            return "";
        }
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM");
        return simpleDateFormat.format(new Date(Long.valueOf(seconds + "000")));

    }
    /**
     * 将date对象转换成日期格式字符串
     *
     * @param date   日期
     * @param format 时间格式
     * @return String 日期字符串
     */

    public static String formatDate2DateStr(Date date, String format) {
        String result = "";
        if (date != null) {
            try {
                SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
                result = simpleDateFormat.format(date);
            } catch (Exception e) {
                e.printStackTrace();

            }
        }
        return result;
    }
    /**
     * 将毫秒转化为 分钟：秒 的格式
     *
     * @param millisecond 毫秒
     * @return
     */
    public static String formatTime(long millisecond) {
        int minute;//分钟
        int second;//秒数
        minute = (int) ((millisecond / 1000) / 60);
        second = (int) ((millisecond / 1000) % 60);
        if (minute < 10) {
            if (second < 10) {
                return "0" + minute + ":" + "0" + second;
            } else {
                return "0" + minute + ":" + second;
            }
        }else {
            if (second < 10) {
                return minute + ":" + "0" + second;
            } else {
                return minute + ":" + second;
            }
        }
    }
}
